package com.ma.process.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ma.model.process.Process;
import com.ma.vo.process.ApprovalVo;
import com.ma.vo.process.ProcessFormVo;
import com.ma.vo.process.ProcessQueryVo;
import com.ma.vo.process.ProcessVo;

import java.util.Map;

public interface ProcessService extends IService<Process> {
    Page<ProcessVo> index(Long page, Long limit, ProcessQueryVo processQueryVo);

    //部署流程定义
    void deployByZip(String path);


    //启动流程实例
    void startUp(ProcessFormVo processFormVo);

    //查找当前用户的待办流程
    Page<ProcessVo> findPending(Long page, Long limit);

    //查看审批详细信息
    Map<String, Object> show(Long id);

    //进行审批
    void approve(ApprovalVo approvalVo);

    //查找已经处理的信息
    IPage<ProcessVo> findProcessed(Page<Process> pageParam);

    //查找发起的审批信息
    IPage<ProcessVo> findStarted(Page<ProcessVo> pageParam);
}
